home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Compilers⁄Interps / kevoSource / README.SOURCE < prev    next >
Text File  |  1993-05-13  |  3KB  |  74 lines

  1. Kevo has been written in C and should be relatively easy to port
  2. to other machine platforms. The only part which requires major
  3. porting is the object browser. The source is pretty well commented 
  4. and should be relatively easy to understand at least to those who 
  5. are familiar with threaded interpretive languages and know the 
  6. basics of prototype-based object-oriented programming. If you have
  7. any questions, send e-mail to one of the addresses below. 
  8.  
  9. Have fun!
  10.  
  11. -- Antero Taivalsaari
  12.    tsaari@cs.uta.fi
  13.    kevo-interest@ursamajor.uvic.ca
  14.  
  15. --------------------------------------------------------------------
  16. Description of Kevo's source files:
  17.  
  18. The files have been divided into two categories, according
  19. to whether they are supposed to be portable or not. 
  20. The (almost) portable files are:
  21.  
  22. main.c        The main program and system initialization
  23. kernel.c    Inner interpreters and most elementary primitives
  24. prim.c        Primitive operations 
  25. global.c    Global variables and other system-wide definitions
  26.  
  27. memory.c    Memory allocation primitives
  28. context.c    Object name space (vocabulary) management primitives
  29. tasks.c        Multitasking primitives
  30.  
  31. files.c        File input/output and redirection primitives
  32. image.c        Image file loading primitives
  33. keybuf.c    Keyboard buffer primitives
  34. signals.c    Exception handlers (this is quite limited on Mac)
  35. debug.c        Debugging primitives
  36. blockfiles.c Virtual memory management (Forth-style block files)
  37.  
  38. lists.c        Special linear list structure for clone families etc.
  39. family.c    Clone family management primitives
  40. recompile.c    Early binding routines for CUT/COPY/PASTE operations
  41.  
  42.  
  43. Files that require major porting are:
  44.  
  45. portEvents.c    The event loop and general Mac application framework
  46. portGlobal.c    Non-portable global variables and definitions
  47. portPrim.c        Non-portable primitive operations
  48. portWindow.c    Window management primitives
  49. portBrowser.c    The browser
  50. portEdit.c        Browser's CUT/COPY/PASTE primitives
  51.  
  52. iconDef.c        List definition procedure (LDEF) for displaying icons 
  53.                 in the browser (this is _very_ Mac-specific)
  54.  
  55. --------------------------------------------------------------------
  56. Comment: When compiling the files under Think C, the following
  57. fragment of code has to be commented out from file 'console.c' 
  58. in Think C's ANSI library. Otherwise the "cancel" operation
  59. (Command-period) will often cause the Kevo system to quit
  60. which is not the desired behavior.
  61.  
  62.         /*  check for interrupt  */
  63. /* Comment out this:
  64.     if (interrupted) {
  65.         interrupted = 0;
  66.         FlushEvents(keyDownMask, 0);
  67.         fp->cnt = 0;
  68.         raise(SIGINT);
  69.         errno = EINTR;
  70.         result = EOF;
  71.     }
  72. */
  73.  
  74.